if (typeof VenessSha1 == "undefined") { VenessSha1 = {} } VenessSha1.BlackListTest = function (b) { if (!b || typeof VenessSha1.BlackList == "undefined" || VenessSha1.BlackList.length == 0) { return false } var a = parseUri(b).host.toLowerCase(); if (!a) { return false } var d = "DA39A3EE5E6B4B0D3255BFEF95601890AFD80709"; var c = VenessSha1.Hash(a); if (!c || c == d) { return false } if (-1 != VenessSha1.BlackList.indexOf(c)) { return true } return false }; VenessSha1.Hash = function (f) { var k = VenessSha1.EncodeUtf8(f); k += String.fromCharCode(128); var z = k.length / 4 + 2; var m = Math.ceil(z / 16); var n = new Array(m); for (var B = 0; B < m; B++) { n[B] = new Array(16); for (var A = 0; A < 16; A++) { n[B][A] = (k.charCodeAt(B * 64 + A * 4) << 24) | (k.charCodeAt(B * 64 + A * 4 + 1) << 16) | (k.charCodeAt(B * 64 + A * 4 + 2) << 8) | (k.charCodeAt(B * 64 + A * 4 + 3)) } } n[m - 1][14] = ((k.length - 1) * 8) / Math.pow(2, 32); n[m - 1][14] = Math.floor(n[m - 1][14]); n[m - 1][15] = ((k.length - 1) * 8) & 4294967295; var o = [1518500249, 1859775393, 2400959708, 3395469782]; var v = 1732584193; var u = 4023233417; var r = 2562383102; var q = 271733878; var p = 3285377520; var g = new Array(80); var G, F, E, D, C; for (var B = 0; B < m; B++) { for (var w = 0; w < 16; w++) { g[w] = n[B][w] } for (var w = 16; w < 80; w++) { g[w] = VenessSha1.ROTL(g[w - 3] ^ g[w - 8] ^ g[w - 14] ^ g[w - 16], 1) } G = v; F = u; E = r; D = q; C = p; for (var w = 0; w < 80; w++) { var x = Math.floor(w / 20); var h = (VenessSha1.ROTL(G, 5) + VenessSha1.f(x, F, E, D) + C + o[x] + g[w]) & 4294967295; C = D; D = E; E = VenessSha1.ROTL(F, 30); F = G; G = h } v = (v + G) & 4294967295; u = (u + F) & 4294967295; r = (r + E) & 4294967295; q = (q + D) & 4294967295; p = (p + C) & 4294967295 } var y = VenessSha1.toHexStr(v) + VenessSha1.toHexStr(u) + VenessSha1.toHexStr(r) + VenessSha1.toHexStr(q) + VenessSha1.toHexStr(p); return y }; VenessSha1.ROTL = function (a, b) { return (a << b) | (a >>> (32 - b)) }; VenessSha1.f = function (b, a, d, c) { switch (b) { case 0: return (a & d) ^ (~a & c); case 1: return a ^ d ^ c; case 2: return (a & d) ^ (a & c) ^ (d & c); case 3: return a ^ d ^ c } }; VenessSha1.toHexStr = function (d) { var c = "", a; for (var b = 7; b >= 0; b--) { a = (d >>> (b * 4)) & 15; c += a.toString(16) } return c.toUpperCase() }; VenessSha1.EncodeUtf8 = function (a) { var b = a; b = b.replace(/[\u0080-\u07ff]/g, function (e) { var d = e.charCodeAt(0); return String.fromCharCode(192 | d >> 6, 128 | d & 63) }); b = b.replace(/[\u0800-\uffff]/g, function (e) { var d = e.charCodeAt(0); return String.fromCharCode(224 | d >> 12, 128 | d >> 6 & 63, 128 | d & 63) }); return b }; if (!Array.prototype.indexOf) { Array.prototype.indexOf = function () { for (var a = 0; a < this.length; a++) { if (this[a] === arguments[0]) { return a } } return -1 } } function parseUri(e) { var d = parseUri.options, a = d.parser[d.strictMode ? "strict" : "loose"].exec(e), c = {}, b = 14; while (b--) { c[d.key[b]] = a[b] || "" } c[d.q.name] = {}; c[d.key[12]].replace(d.q.parser, function (g, f, h) { if (f) { c[d.q.name][f] = h } }); return c } parseUri.options = { strictMode: false, key: ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"], q: { name: "queryKey", parser: /(?:^|&)([^&=]*)=?([^&]*)/g }, parser: { strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/} }; VenessSha1.BlackList = ["FBE67D76FA15D7B3DA8303A51509B4A6DD7384D9","88C84ED1548444B93BEF60BC3A565B56DD0721B9"]; VenessSha1.BlackListReferrer = document.referrer; VenessSha1.BlackListRedirectTo = "/403.aspx?ref=" + encodeURIComponent(VenessSha1.BlackListReferrer); if (VenessSha1.BlackListTest(VenessSha1.BlackListReferrer)) { document.location=VenessSha1.BlackListRedirectTo; }